#pragma once

#include <QComboBox>

class QCalendarWidgetEx;
class QCalendarEdit : public QComboBox
{
    Q_OBJECT

public:
    explicit QCalendarEdit(QWidget *parent = nullptr);
    ~QCalendarEdit();

    QDateTime datetime() const;
    void setDisplayFormat(const QString& format);
    void setDateTime(const QDateTime& dt);
    void setMinDateTime(const QDateTime& dt);
    void setMaxDateTime(const QDateTime& dt);
    QDateTime minDateTime();
    QDateTime maxDateTime();

Q_SIGNALS:
    void dateTimeChanged(const QDateTime& data);

protected:
    void showPopup() override;

private:
    QCalendarWidgetEx* _pCalendar = nullptr;
    QString _dispalyFormat{ "yyyy/MM/dd hh:mm" };
};
